package com.jiunuan.live.core.server.service;

import com.jiunuan.live.im.dto.ImMsgBody;

/**
 * @Author: JiuNuan
 * @CreateTime: 2024-08-17 14:22
 * @Description:
 */

public interface IMsgAckCheckService {
    /**
     * 主要客户端发送的ack消息包到服务端后，调用进行ack记录的移除
     * @param imMsgBody
     */
    void doMsgAck(ImMsgBody imMsgBody);

    /**
     * 记录消息的ack和times
     * @param imMsgBody
     * @param times
     */
    void recordMsgAck(ImMsgBody imMsgBody,int times);

    /**
     * 发送延迟消息，用于进行消息重试功能
     * @param imMsgBody
     */
    void sendDelayMsg(ImMsgBody imMsgBody);

    /**
     * 获取ack消息的重试次数
     * @param msgId
     * @param userId
     * @param appId
     * @return
     */
    int getMsgAckTimes(String msgId,Long userId,Integer appId);
}
